package com.tjf.ioc_annotation_lib.annation_common;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author: tjf
 * @date: 2023-06-02
 * @desc： 事件通用注解
 */
//注解的注解  = 元注解
@Target(ElementType.ANNOTATION_TYPE) // 本身自己就是注解  话可以作用域在注解之上
@Retention(RetentionPolicy.RUNTIME) //运行时
public @interface onBaseCommon {

    // 这里必须是通用代码  不能是固定代码
    // 总结 事件 三要数

    // todo  1 订阅方式   接口  setOnClickListener  setOnLongClickListener
    String setCommonListener();

    // todo 2 事件源对象  一般都是一个函数
    Class setCommonObjectListener();

    // todo 3 事件执行方法  onClick onLongClick  最终的事件消费
    String callbackMethod();

}
